window: Do not raise border windows on each size allocation
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 27 May 2014 09:44:45 +0000 (11:44 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 27 May 2014 15:56:59 +0000 (17:56 +0200)
This prevents these windows from being raised above popovers, which
is about the only child widget that may overlap with those anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=730589

gtk/gtkwindow.c

index d009ec416b8013c13ff854f9107c409e563cb39f..6bfe5b465d39a6e1138dd692cddda70989e75b0e 100644 (file)
@@ -6947,10 +6947,10 @@ update_border_windows (GtkWindow *window)
                                        region, 0, 0);
       cairo_region_destroy (region);
 
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_NORTH_WEST]);
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_NORTH_EAST]);
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_SOUTH_WEST]);
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_SOUTH_EAST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_NORTH_WEST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_NORTH_EAST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_SOUTH_WEST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_SOUTH_EAST]);
     }
   else
     {
@@ -6982,8 +6982,8 @@ update_border_windows (GtkWindow *window)
                               x, window_border.top + height,
                               w, border.bottom);
 
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_NORTH]);
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_SOUTH]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_NORTH]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_SOUTH]);
     }
   else
     {
@@ -7014,8 +7014,8 @@ update_border_windows (GtkWindow *window)
                               window_border.left + width, y,
                               border.right, h);
 
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_WEST]);
-      gdk_window_show (priv->border_window[GDK_WINDOW_EDGE_EAST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_WEST]);
+      gdk_window_show_unraised (priv->border_window[GDK_WINDOW_EDGE_EAST]);
     }
   else
     {